import pandas as pd
from sqlalchemy import create_engine

# 读取CSV文件
csv_file_path = '../stock_csv/tushare_daily_20250222201151.csv'  # 文件名和数据路径根据实际情况修改
df = pd.read_csv(csv_file_path)

# 检查并处理'change'列,因为change与数据库关键字冲突,所以stocks_daily表的change改名为了chg_amo
if 'change' in df.columns:
    df = df.rename(columns={'change': 'chg_amo'})

# 创建数据库连接引擎
# 根据之前的教程,我们的数据库并没有密码,所以这里直接用root@127.0.0.1:3306即可
engine = create_engine('mysql+pymysql://root:@127.0.0.1:3306/stocks?charset=utf8&use_unicode=1')

# 将DataFrame写入MySQL数据库
# table参数指定要写入的表名，if_exists参数指定如果表已存在时的行为（'fail', 'replace', 'append'）
def write_csvdata_to_db(df, engine):
    try:
        df.to_sql('stocks_daily', con=engine, if_exists='append', index=False)
        print("数据已成功插入到stocks_daily表中")
    except Exception as e:
        print(f"发生错误: {e}")
if __name__ == '__main__':
    write_csvdata_to_db(df, engine)